' 
' Copyright (C) 2014 Infinity CCS Ltd (http://www.infinityccs.com/)
' Copyright (C) 2008 Sasa Coh <sasacoh@gmail.com>
'
' This program is free software; you can redistribute it and/or modify
' it under the terms of the GNU General Public License as published by
' the Free Software Foundation; either version 3 of the License, or
' (at your option) any later version.
'
' This program is distributed in the hope that it will be useful,
' but WITHOUT ANY WARRANTY; without even the implied warranty of
' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
' GNU General Public License for more details.
'
' You should have received a copy of the GNU General Public License
' along with this program.  If not, see <http://www.gnu.org/licenses/>. 
'/


Imports System
Imports System.Collections.Generic
Imports System.Text

Namespace Common.Config
#Region "Null Pattern"
  ''' <summary>
  ''' 
  ''' </summary>
  Friend Class NullConfigurator
    Inherits IConfigurator

    Public Sub New()
      '// add 1 account
      '//_accountList.Add(new NullAccount());
    End Sub

#Region "IConfigurator Properties"

    Dim _accountList As New List(Of IAccount)

    Public Overrides ReadOnly Property IsNull As Boolean
      Get
        Return True
      End Get
    End Property

    Public Overrides Property DNDFlag As Boolean
      Get
        Return False
      End Get
      Set(value As Boolean)

      End Set
    End Property

    Public Overrides Property AAFlag As Boolean
      Get
        Return False
      End Get
      Set(value As Boolean)

      End Set
    End Property

    Public Overrides Property SIPPort As Integer
      Get
        Return 5060
      End Get
      Set(value As Integer)

      End Set
    End Property

    Public Overrides Property DefaultAccountKey As String
      Get
        Return ""
      End Get
      Set(value As String)

      End Set
    End Property

    Public Overrides ReadOnly Property AccountKeys As List(Of String)
      Get
        Return New List(Of String)
      End Get
    End Property

    Public Overrides ReadOnly Property Account(strKey As String) As IAccount
      Get
        Return New NullAccount
      End Get
    End Property
    Public Overrides ReadOnly Property Account(pjsipIndex As Integer) As IAccount
      Get
        Return New NullAccount
      End Get
    End Property

    Public Overrides Sub Save()

    End Sub


    Public Overrides Property CodecList As List(Of String)
      Get
        Return Nothing
      End Get
      Set(value As List(Of String))

      End Set
    End Property
#End Region

    Public Overrides Property PublishEnabled As Boolean
      Get
        Return True
      End Get
      Set(value As Boolean)

      End Set
    End Property
  End Class
#End Region
End Namespace
